package com.atguigu.gmall.product.rest;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.product.service.FileuploadService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author lfy
 * @Description 文件上传处理器
 * @create 2023-08-15 14:21
 */
@Slf4j
@RequestMapping("/admin/product")
@RestController
public class FileuploadController {


    @Autowired
    FileuploadService fileuploadService;
    /**
     * Multipart
     *
     *     姓名：<input name="username"/> <br/>
     *     年龄：<input name="age"/> <br/>
     *     身份证正反面： <input type="file" multiple name="sfz"/><br/>
     *     头像： <input type="file"  name="headerImg"/><br/>
     * 多部件请求：文件上传，带普通数据；按照如下的方式接数据
     * @RequestParam("username") String username,
     * @RequestParam("age") Integer age,
     * @RequestPart("sfz") MultipartFile[] sfz,
     * @RequestPart("headerImg")MultipartFile headerImg
     * @return
     */
    @PostMapping("/fileUpload")
    public Result fileupload(@RequestPart("file") MultipartFile file) throws Exception {

        log.info("接受到文件上传数据：文件名：{}，文件大小：{}",file.getOriginalFilename(),file.getSize());
        //文件上传。
        String path = fileuploadService.upload(file);
        return Result.ok(path);
    }
}
